Skip to content

Tripoli Ghost Theme — Documentation

Theme version: 1.0.7 — 22 January 2024 Changelog

Table of Contents


Theme Installation

To begin, unzip the downloaded package by double-clicking it on a Mac or by right-clicking and selecting “Extract All” on Windows.

Inside the new tripoli folder, you will find the tripoli.zip theme file and an online documentation file.

Follow these steps to upload the theme to your website:

  1. Log in to your Ghost website admin (example.com/ghost).
  2. Click the settings icon ( ) at the bottom of the left-hand side.
  3. Go to Site > Design & branding.
  4. Click Customize > Change theme.
  5. Click Upload theme and select the tripoli.zip theme file.
  6. Once uploaded, click Activate now to activate Tripoli.

Upload the routes.yaml File (⚑ Required)

The routes.yaml is required for the following reasons:

To upload the file, follow these steps:

  1. Unzip the tripoli.zip theme file.
  2. In your Ghost admin, click the settings icon ( ) at the bottom of the left-hand side.
  3. Go to Advanced > Labs.
  4. Click Open > Beta features.
  5. From the Routes section, click Upload routes YAML button.
  6. Select and upload the routes.yaml file inside the theme folder.
Upload a routes file in Ghost

Note: upload routes.yaml after uploading the theme zip

There will already be a default routes.yaml file uploaded to Ghost. You need to upload your theme’s routes.yaml to override the default.

Do this separately after uploading your theme zip file.


Homepage

The homepage will show a list of content sections.

Hero Section

The homepage hero section will include three columns, two for Featured posts and one for the Latest posts.

Tripoli Ghost Theme Custom Homepage Hero

The center and left columns will include the most recent three Featured posts.

To make a post as featured, you can do that from the Post settings by checking the Feature this post checkbox.

Tripoli Ghost Theme Feature Post

The theme will only show the latest 3 posts marked as featured, if you have more old posts marked as featured, you can turn these old ones manually just in case they will be in the Latest column depending on the post date.

Read more about Post settings and Feature this post.

The right column will include the most recent six posts and exclude the Featured ones. Clicking the Latest header will take you to the Latest page, where you can see all the recent posts.

To control how many latest posts to show, go to your Ghost admin Settings > Design & branding > Homepage and set the Number of latest posts value to a number. Six is the default.

This column might not have enough posts or be empty. Maybe you don’t have enough posts on your website yet, and if you already have a few, they might be Featured posts.


Tags Sections

You can add many tag sections to the homepage; each section will show the recent four posts by the tag.

The order of the sections is based on the input order of the Slugs. Please see below.

To set this up:

  1. Go to the Ghost admin Settings > Design & branding > Homepage
  2. In the Tag slugs for home sections input, add all the Tags Slug you want to include separated by (,). No spaces between the comma and the next slug.
Ghost Theme Tag Setting

To get the Tag Slug, you can find it on each Tag page from the admin.

Ghost Theme Tag Setting

You might end up with the Slugs as:

politics,covid,technology,business,sport,life,history,food

× No spaces between the comma and the next slug.

To control how many posts to show under each tag section, go to your Ghost admin Settings > Design & branding > Homepage and set the Number of posts for tags home sections value to a number. Four is the default.

A SEE ALL link will appear for every tag section to go to the tag page to show all posts. It will only show up if posts are more than the number you specified in the Number of posts for tags home sections setting. So, if you set the number to four posts — which is the default, and there are more than four posts under this tag, the SEE ALL link will be visible.

The Editors’ Picks section will show four posts with the hash-editors-picks tag.

  1. Go to your admin Tags page, and click the top right Internal tags tab.
  2. Click the New tag button.
  3. In the name field, add #editors-picks
  4. Click Save
Ghost Theme Internal Tag Setting

Then, select the #editors-picks from the post Tags setting for each post you want to highlight here.

Ghost Theme Internal Tag Setting

To control how many Editors’ Picks to show, go to your Ghost admin Settings > Design & branding > Homepage and set the Number of editors picks posts value to a number. Three is the default.

Input values you can use:

  1. Number, 1, 2 or 3 or any number you want to include
  2. all to show all posts
  3. none to show nothing

Membership

Tripoli has different interface elements for membership features.

  • Log in and Subscribe links in the Header
  • Call to action section on the post page to encourage visitors to subscribe if the post is for members only

Remove Membership Components from the Theme

If you want to disable membership from your website, you can do the following from the website admin. After doing this, all the theme/website membership elements like header links and forms will be removed.

  1. Go to your Ghost admin Settings > Membership > Access > Subscription access
  2. Select Nobody
  3. Click Save

Remove Ghost Portal / The Bottom Right Button

This is the Ghost Portal button; you can disable it from the Ghost admin. More information at Portal Look and feel.

Remove Ghost Portal

Membership Troubleshooting Tips

If for any reason the subscribe form does not work, or there is an error message, the following tips might help:

  1. First, ensure you run the latest version of Ghost.

  2. If you are self-hosting your website, make sure to set up the mail config. After doing that, restart your Ghost server.

  3. The website config URL should match the URL used to access the website, as described in the Ghost docs.

Enter the URL you use to access your publication. If using a subpath, enter the full path, https://example.com/blog/. If using SSL, always enter the URL with https://..


If you still have an issue using Ghost Pro, please get in touch with the Ghost team. If you use any self-hosting provider, please get in touch with them for help.


There is nothing to do from the theme side. Also, you can try the original theme demo to double-check that everything is working fine.

For more information about Members, connecting Stripe, and setting the package price, check the official Ghost documentation.


Colors

In this section, you will learn about the following:

  1. Accent color
  2. Dark mode
  3. Changing Colors with CSS Variables

Accent Color

Change the Accent color from the admin Settings > Design > Brand > Accent color.

Tripoli uses Accent color throughout the theme in the button background, Ghost Portal button background, tag color, quotes border, header navigation links divider, and content link color.

Dark Mode

Tripoli will adapt to the reader operating system mode. The dark mode option is enabled by default. You can also switch between dark and light modes from the header link.

Tripoli has three admin settings from which you can have more control over dark mode.

  1. Disable the dark mode and keep the website in light mode.
  2. Upload a logo to be visible when the dark mode is active.
  3. Add dark mode Accent color.

Go to your website admin Settings > Design > Site design > Site-wide to show dark mode settings.

Tripoli Ghost CMS Theme Dark Mode Settings

If you are having trouble with the dark mode switch not working and you are using Cloudflare, try disabling “Rocket Loader.” According to Aloysius T., this should fix the problem.

Changing Colors with CSS Variables

This section is for changing all the theme colors; check the Accent color if changing the button’s background color is all you want.

Using Code Injection, you can change the theme colors for the light and dark modes with CSS Variables.

For a list of available theme variables, check the following theme files:

  • Light mode: assets/sass/tokens/_colors.scss
  • Dark mode: assets/sass/tokens/_colors-dark.scss

You can open the theme files in a code editor, or see the following as a reference.

Light mode variables

/* The main text color  */
--color-text-primary: #000000;

/* The secondary text color, you can see it in post date, author name, for example */
--color-text-secondary: #4E5965;

/* Primary border color, you can see it under homepage section titles */
--color-border-primary: #000000;

/*  Secondary border color, you can see it in the header section*/
--color-border-secondary: #D9D9D9;

/* Theme main background  */
--color-background-primary: #FFFFFF;

/* Theme secondary background, you can see it in the homepage editors pick,
   footer, share icons backgrounds */
--color-background-secondary: #EFF8FA;

Dark mode variables

--color-text-primary: #FFFFFF;
--color-text-secondary: #B3B3B3;
--color-border-primary: #525252;
--color-border-secondary: #303030;
--color-background-primary: #181818;
--color-background-secondary: #212121;

Don’t change the colors in these files; use it only as a reference for the available CSS Variables and instead use Code Injection as mentioned below to change the colors.

For example, let’s change the theme background color. We will change the --color-background-primary variable value in this case. You can copy this color variable to Code Injection > Site Header and assign it your new color, as in the following example.

<style>
  /* Light Mode*/
  :root {
    --color-background-primary: #FAFAFA;
  }

  /* Dark Mode*/
  @media (prefers-color-scheme: dark) {
    :root:not([data-user-color-scheme]) {
      --color-background-primary: #000000;
    }
  }

  [data-user-color-scheme='dark'] {
    --color-background-primary: #000000;
  }
</style>

Notice that we duplicated the variable for dark mode in two blocks.

In the above example, we changed the background color for the light mode to #FAFAFA and #000000 for the dark mode. You can do this for any other variable.

Color Tools

The following are some online websites and tools to help with color inspiration. Please make sure you choose an accessible color scheme; this is important for readers.


Pages

Manage pages for Latest, Tags, Authors, and Newsletters.

Latest Page

When you click the Latest link in the homepage top right column you will go to the Latest page where you can see all the recent posts.

The page will have a URL like example.com/latest. If you want to change the /latest part do the following:

  1. Open the theme routes.yaml file in a code editor and change the word latest in line 6.
  2. Reupload the routes.yaml file to your Ghost admin.
  3. Open the theme partials/hero.hbs file and change the word latest in line 28.

Once you finish, zip the theme files, and upload the final zip file to your Ghost website.

Tags Page

The Tags page will automatically pull all your website tags.

Follow these steps to create the Tags page:

  1. From the Ghost admin Pages section, create a new page and give it a title, like “Tags”.
  2. From Page settings, select the Tags template.
  3. Click Publish to publish the page.
  4. To add the page to the navigation, please check the Navigation section.
Ghost Tags Page

Note for Self-hosters

If you are self-hosting your website, you may need to do a server restart. This should get the Tags option to show up in the Template dropdown.

To add a unique color for each tag, go to the tag page from your website admin and set the Color.

If you didn’t set the Color, the theme would use the Accent color as a fallback.

Ghost Tag Color Setting

Authors Page

To create the Authors page:

  1. Create a new page and give it a title, like “Authors”
  2. From Page settings, select the Authors template
  3. Click Publish to publish the page
  4. To add the page to the navigation, add it as a Navigation item with authors/ as the URL
Ghost Authors Page
Tripoli Ghost Theme Authors Page

Archive Page

The Archive page shows all your website posts ordered by pusblished date.

To create the Archive page:

  1. Create a new page and give it a title, like “Archive”
  2. From Page settings, select the Archive template
  3. Click Publish to publish the page
  4. To add the page to the navigation, add it as a Navigation item with archive/ as the URL for example.
Ghost Authors Page

Newsletters Page

The idea behind the Newsletters page is to enable your reader to subscribe to specific types of content.

The Newsletters page uses the Ghost Labels feature to create different labels, and when a user chooses a Label and subscribes to it, you will see the Labels in his admin profile.

Ghost Membership Profile

When you are about to send a newsletter email or publish a post, you can select which Labels you want to send the post to.

Ghost Post Publish Settings with Labels

Publish the Newsletters page:

  1. Create a new page and give it a title like “Newsletters”
  2. From Page settings, select the Newsletters template
  3. Click Publish to publish the page
  4. To add the page to the navigation, add it as a Navigation item with newsletters/ as the URL

Change the default Labels:

The theme comes with default Labels, and you will need to change them to match your preference. Open the theme /partials/newsletters-labels.hbs file using a code editor to change them, and you will also find the instructions in the same file.

A note about the Newsletters page

I released the Newsletter Labels just before the Ghost Multiple Newsletters to help fill this gap and enable people to choose different types of content before they signup. But Ghost created Newsletters as a new section instead of doing this with Labels.

The theme Newsletter page with Labels adds Labels to a subscriber, while the Ghost Newsletter updates the profile NEWSLETTERS.

Ghost Membership Profile

So, both work differently and update different data.

When you send a new post, you can choose a Label or a Newsletter to send the post to.

Ghost Publish Post

The Ghost Newsletter is a native solution that is easy to set up and manage. Subscribers can also change this option later from their Portal profile. Use any of the solutions or both, depending on your use case.

Ghost Membership Portal Newsletters

Post Feature Image Size

The feature image ideal size to upload is 1336 × 890. The visible size is 668 × 445 which you can also upload, but double it — if you can — to 1336 × 890 to look sharper on retina displays.

The image aspect ratio is set to 3/2, which is ideal for photos.

If you have the tools/time to create an image with the right proportions, this will be better, especially for editorial sites and it will look more professional. The theme uses a standard proportion ratio to show your uploaded image, the same as used on websites like NYT.

However, you can use the following code as a workaround to fully display the image if you have used small images that might look stretched or are not fully visible.

You can add this code in the Ghost admin Settings > Advanced > Code injection (Site Header).

<style>
.c-card__media,
.c-teaser__media,
.c-feature-image-wrap,
.c-editors-pick__media {
    background-color: transparent;
}

.c-card__image,
.c-teaser__image,
.c-feature-image,
.c-editors-pick__image { object-fit: contain; }
</style>

You can add, edit, delete, and reorder the navigation menu in Ghost Admin from the Settings > Site > Navigation > Primary.

Ghost CMS navigation menu

Add New Page to Navigation

First, type the page name as you’d like it to appear on your navigation in the label field.

Ghost CMS label field

Next, click on the item’s URL. Add the page slug after the final /.

Click the Save button.

Like Header Navigation, you can add the footer navigation links from the Ghost admin Settings > Site > Navigation > Secondary.


Tripoli uses the Ghost Native Search.

  1. Go to your Ghost admin Settings > Design > Site design > Site-wide
  2. Toggle the Enable search option off
  3. Click Save

Comments

The theme comes with Ghost Native Comments integration. You can turn the comments on from your Ghost admin Settings > Membership > Commenting.

Learn more about Ghost comments.

Ghost developer documentation for comments.

The theme file for Ghost comments partials/comments/ghost.hbs.


Table of Contents

Add a table of contents to your posts and pages automatically.

The table of contents section will show the post headings h2 and h3 supported by the Ghost editor. If none of these headings exist in post content, the table of contents section will be hidden.

Activate on All Posts & Pages

The Table Of Contents is visible by default. Go to site admin Settings > Site > Design & branding > Post and deactivate the Enable table of contents option.

Tripoli Table of Contents activation

Activate on Individual Posts & Pages

Make sure that show the table of content on all posts and pages options is not active.

Create a new Internal tag from the admin Tags page and set the Name to: #table-of-content

Tripoli Table of Contents Hash Tag

You can now assign the #table-of-content tag to a post or a page, and the table of contents will only be visible to that post or page.

Tripoli Table of Contents Post Settings

Ghost supports adding only Facebook and Twitter URLs. Go to Settings > General > Social accounts and add your URLs from your site admin.

By default, Ghost fills these fields with the Ghost social links. If you don’t have Twitter and Facebook, you can remove the default ones, and the icons will disappear from the theme.

Ghost CMS Theme Social Accounts

Tripoli supports adding Instagram, Pinterest, Mastodon, Discord, YouTube, and Linkedin URLs. Go to Settings > Site > Design & branding > Site-wide.

Tripoli Ghost Theme Social Media Accounts Settings

The social links theme file is at /partials/social-links.hbs.


Languages

Tripoli comes in many languages already. But if you’d like to add another one, you’ll be able to do that too.

Theme Translation

Tripoli supports Ghost i18n and comes with Arabic, German, Italian, Spanish, French, Finnish, Portuguese, Dutch, Turkish, and Danish translations.

To use a language other than English, go to your Ghost admin Settings > General > PUBLICATION INFO and enter the ISO Code into the Publication Language field.

The following is a list of the available theme languages with the code to use.

  • ar for Arabic
  • da for Danish
  • de for Germany
  • en for English
  • es for Spanish
  • fi for Finnish
  • fr for French
  • it for Italian
  • nl for Dutch
  • pt for Portuguese
  • tr for Turkish
Ghost Publication Language Setting

Add a New Language Translation

If the theme does not have a translation for your language, follow the following steps to add a new language translation.

  1. Create a new file using a code editor in the theme’s locales folder with the ISO Language Codes code. Foe example, if the new language is Japanese, the ISO code will be ja and the file name will be ja.json.
  2. In the same locales folder, open the en.json file and copy its content into your new language file.
  3. Start translating, as shown in the following Edit Translation section.

Once you finish, zip the theme files, and upload the final zip file to your Ghost website.

Now, go to your Ghost admin Settings > General > PUBLICATION INFO and enter your language ISO code into the Publication Language field. For example, ja.

Click Save settings.

You may want to restart Ghost or deactivate and activate the theme again to make the new changes effective.

Edit Translation

To improve or edit a translation in a specific available language, you can open the language file using a code editor in the /locales/ theme folder:

|____locales
| |____ar.json
| |____da.json
| |____de.json
| |____en.json
| |____es.json
| |____fi.json
| |____fr.json
| |____it.json
| |____nl.json
| |____pt.json
| |____tr.json

For example, the German translation file (de) looks like this:

{
  "Skip to content": "zum Inhalt",

  "Page Not Found": "keine Seite gefunden",

  "Dark": "Dunkel",
  "Light": "Hell",
  "Search": "Suche",

  "Comments": "Kommentare",

  "1 min read": "1 Minute Lesedauer",
  "% min read": "% Minuten Lesedauer",

  "Share on Twitter": "auf Twitter teilen",
  "Share on Facebook": "auf Facebook teilen",
  "Share on LinkedIn": "auf LinkedIn teilen",
  "Share via Email": "per E-Mail teilen",

  "Loading": "wird geladen",
  "Load More": "weitere Artikel",

  "Featured": "Empfehlungen",
  "Latest": "Aktuelles",
  "Related": "Weiterführende Artikel",
  "See all": "Übersicht",
  "Editors' Picks": "Unsere Auswahl",

  "Account": "Account",
  "Sign In": "Anmelden",
  "Subscribe": "Abonnieren",
  "Email address": "E-Mail Adresse",
  "Please check your inbox and click the link to confirm your subscription.": "Bitte Posteingang überprüfen und auf den Link klicken, um das Abonnement zu bestätigen.",
  "Please enter a valid email address.": "Bitte eine gültige E-Mail Adresse eingeben!",
  "An error occurred, please try again later.": "Ein Fehler ist aufgetreten. Bitte später erneut versuchen.",

  "This post is for paying subscribers only": "Dieser Beitrag ist nur für zahlende Abonnenten",
  "This post is for subscribers only": "Dieser Beitrag ist nur für Abonnenten",
  "This post is for subscribers on the ": "Dieser Beitrag ist für Abonnenten der ",
  "Upgrade your account": "Bitte den Account aktualisieren",
  "Already have an account?": "Gibt’s schon einen Account?",

  "Published with {ghostLink} & {themeLink}": "Veröffentlicht mit {ghostLink} & {themeLink}"
}

Each line consists of a left key ("Loading") and a right value ("Wird geladen").

The key is plain English that exists in all translation files and should not be changed. You should change only the value.

Once you finish, zip the theme files, and upload the final zip file to your Ghost website.

If you have suggestions to improve a current translation or add a new language, please contact me.

Portal Text & Translation

There is no way to change or translate the Portal text or other parts of the website like Comments and Search labels. It is also not possible to translate the newsletter emails your subscribers receive. These are core Ghost components and not part of the theme layer; we can’t control them.

I suggest reaching out to the Ghost team ( support@ghost.org ); so they might work on this issue or have a workaround.

RTL

RTL means right to left. Turning on RTL makes the theme readable for languages written from right to left, like Arabic or Hebrew.

To enable the RTL option, go to the Ghost admin Settings > Design > Site design > Site wide > Enable right to left layout.

Multiple Languages Support

The theme supports Ghost translations for different languages, which means if you set the site language to French, some parts of the theme will change to French, for example, button labels.

On the other hand, having multiple languages on one website is not supported out of the box in Ghost, so the theme is.


Posts Per Page

You can control how many posts to display per page from the theme package.json file. Open that file using a code editor and change the posts_per_page value from 16 to a number.

"config": {
  "posts_per_page": 16
}

The theme default value is set to 16 posts per page.

Once you finish, zip the theme files, and upload the final zip file to your Ghost website.


Related posts section will be visible at the bottom of a post if other posts share the same tags as the current post.


Post Date

Tripoli comes with three different date formats:

  1. Month - Day - Year (Default)
  2. Day - Month - Year
  3. Year - Month - Day

To change this, go to the Ghost admin Settings > Design > Site design > Site wide > Date format.

You can also choose Hide Date to hide the date across the website.

If you want to remove the date only from the homepage, you can choose a format and then copy and paste the following CSS code into the Ghost admin Code Injection Site Header.

<style>
  .home-template .c-timestamp { display: none; }
</style>

Post Access Label

The Post access is where you set the post to be for public, members, … You can see this option from the Post settings on each post admin editor.

Tripoli Post Access Label

The Post Access Label is visible by default. Go to site admin Settings > Site > Design & branding > Site wide and deactivate the Enable post access label option.

Tripoli Post Access Label

Post Card Excerpt

The post Excerpt is where you can add a brief description about your post.

Custom excerpts are a great way to introduce your content. If your theme supports it, the custom excerpt will show a snippet of content at the top of your post, and on your content index page.

You can find this option in the Post settings on the editor for each post.

Tripoli Post Access Label

The Post Card Excerpt is visible by default. Go to site admin Settings > Site > Design & branding > Site wide and deactivate the Enable post card excerpt option.

Tripoli Post Card Excerpt

Typography Drop Caps

The theme comes with different styles of typography drop caps. It will apply to the first letter of the first word in a given paragraph.

To add a drop cap style to a paragraph.

  1. Add an HTML card to your Post or Page content editor
  2. In that HTML card, add a <p> </p> HTML element with the Drop Cap CSS class. For example, <p class='u-drop-cap-small'> </p>. Check below for the available classes for each style
  3. Add your paragraph text whith that <p> </p> HTML element
Tripoli Ghost Theme Typography Dropcap HTML Card

There are currently two styles available.

➊ Small Drop Cap

  • CSS class → u-drop-cap-small
  • Example ↓
<p class='u-drop-cap-small'>TEXT HERE</p>

The result.

Tripoli Ghost Theme Typography Dropcap

➋ Large Drop Cap

  • CSS class → u-drop-cap-large
  • Example ↓
<p class='u-drop-cap-large'>TEXT HERE</p>

The result.

Tripoli Ghost Theme Typography Dropcap Large

To save time, each time you create a new Drop Cap, you can create it as a snippet.


Changing Theme Typeface

Tripoli uses two typefaces:

  • Inter for the overall theme text such as navigation items, date, buttons, tags,…
  • Source Serif 4 for the post title and content.

The theme loads both typefaces locally. I don’t use Google Fonts. Then, I assign them as a CSS Variable and other system fonts as a backup in the theme /assets/sass/tokens/_typography.scss as the following example.

:root {
  --font-family-serif: 'Source Serif 4';
  --font-family-sansSerif: Inter;
}

The --font-family-sansSerif variable will target the overall theme font, while the --font-family-serif variable will target the content and the title.

Don’t modify the .scss files if you want to use a different typeface. This is for explanation only. Instead, add your code to Code Injection Site Header.

For example, if you want to use the Roboto typeface from Google Fonts instead of Inter. Your code in Code Injection might be like this.

<link href='https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap' rel='stylesheet'>

<style>
  :root {
    --font-family-sansSerif: 'Roboto', sans-serif;
  }
</style>

The first line of code is provided by Google Fonts for each font. Check the font embed code. This might be several lines.

To change the content and title font to Roboto, your code will look like this.

<link href='https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap' rel='stylesheet'>

<style>
  :root {
    --font-family-serif: 'Roboto', sans-serif;
  }
</style>

To use the same font across the theme. Assign two variables to the same font.

<link href='https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap' rel='stylesheet'>

<style>
  :root {
    --font-family-sansSerif: 'Roboto';
    --font-family-serif: 'Roboto';
  }
</style>

RSS Feed URL

RSS is a way for people to receive updates from your website by adding your website’s RSS link to their RSS application (Feedly for example). Once you publish content, they will receive a notification.

If your website is private, the RSS URL will not function properly. Once your website is made public, the URL will work as expected.

Since Tripoli uses the /latest/ URL for the latest posts, you can access the RSS feed at site.com/latest/rss/ instead of site.com/rss/. For example, tripoli.aspirethemes.com/latest/rss/.

If anyone subscribes to site.com/rss/ and you want to redirect them to site.com/latest/rss/, go to your Ghost admin Settings > Labs > Redirects and upload the redirects.yaml file, which you can find in the theme files.


Publication icon

You can change the favicon from the Ghost admin Settings > Design & branding > Brand > Publication icon.


Footnotes

Ghost has limited support for footnotes, which means it doesn’t support footnotes outside of the editor Markdown card. So, if your article content is in Markdown, this will work fine for you.

For creating a footnote, check out the Markdown Guide – Footnotes for more information about the syntax. You can check out how the theme renders this example in the demo. So, in your editor, you need to add a new Markdown card and your footnote inside.

The theme will render what the editor can do; the theme has no built-in footnotes support but Ghost. Check out this theme demo example.

Check out this Forum discussion for more information and probably some ideas and workarounds.

I have not done any work to support footnotes beyond the basic Ghost Markdown implementation, so I’m afraid I can’t give any advice here.


Theme Deploy with GitHub Actions

Tripoli comes integrated with the Deploy Ghost Theme Github action. The purpose of the GitHub action is to take the theme from the GitHub repo and send it to your website.

Tripoli ghost theme — documentation Ghost CMS Theme GitHub Actions

I have written about this in How to Deploy Your Ghost Theme Using Github Actions. All you need to do is follow steps 1 and 2.

The Deploy Ghost Theme action is software by Ghost and works with any Ghost install, whether you self-host Ghost or use Ghost Pro.


Code Injection

Another choice for customization is to use the Ghost Code Injection settings in Ghost admin.

For a CSS example, you can use the following code in the Site Header section to change the logo color and font size.

<style>
  .c-logo__link {
    color: #4550E5;
    font-size: 32px;
  }
</style>

Watch the following short video about Ghost Code Injection, how it works, and how to use it.

Check out How to use Code Injection Ghost guide for more information.


Customize Logo Size

If you are using an image as a logo (instead of the site name) and want to change the logo size, use the following code in Code Injection.

<style>
  .c-logo__img { max-height: 48px; }
</style>

The default value is 48px, so you can increase this value to match your preference.

If the logo image has a large white space around it, trim that space with a photo editing app before uploading for better results.


To remove the Ghost and Tripoli links from the footer and keep the copy sign, year, and site name, add the following CSS code into the Ghost admin Code Injection Site Header.

<style>
  .c-footer-copy span { display: none; }
</style>

Click Save.


Remove Author Name

Copy and paste the following CSS code into the Ghost admin Code Injection Site Header.

<style>
  .c-byline { display: none; }
</style>

It will hide the author name across the site.


Remove Reading Time

Copy and paste the following CSS code into the Ghost admin Code Injection Site Header.

<style>
  .c-reading-time { display: none; }
</style>

It will hide the reading time from the article page.

Change Content Width

Copy and paste the following CSS code into the Ghost admin Code Injection Site Header.

<style>
  :root { --content-width: 708px; }
</style>

The default width is 708px. Change this value to set a new width.


Zip Theme Files

You can compress it as a standard folder like any other folder on your computer. If you are on Mac, right-click on the theme folder to view the context menu. Then, click the Compress option.

Ghost theme zip on macOS

Have any questions? Contact Ahmad

Theme Editing & Tools

Edit the theme files mentioned here with a code editor. I recommend Visual Studio Code or Sublime Text. Don’t use TextEdit on Mac.

Once you finish, zip the theme files, and upload the final zip file to your Ghost website.

If editing the routes.yaml file, make sure to upload it after every change you make.


Watch the following short video tutorial about theme editing.


If you're looking for Ghost hosting, I recommend Ghost(Pro).